// import 'package:flutter/cupertino.dart';
// import 'package:flutter/material.dart';
// import 'package:flutter_webview_plugin/flutter_webview_plugin.dart';
//
// class NewsDetail extends StatefulWidget {
//   final String url;
//   final String title;
//
//   const NewsDetail({super.key, required this.url, required this.title});
//
//   @override
//   NewsDetailState createState() => NewsDetailState();
// }
//
// class NewsDetailState extends State<NewsDetail> {
//   bool loaded = false;
//   final flutterWebViewPlugin = FlutterWebviewPlugin();
//   NewsDetailState({Key? key});
//
//   @override
//   void initState() {
//     super.initState();
//     flutterWebViewPlugin.onStateChanged.listen((state) {
//       print("state: ${state.type}");
//       if (state.type == WebViewState.finishLoad) {
//         setState(() {
//           loaded = true;
//         });
//       }
//     });
//   }
//
//   // @override
//   // void dispose() {
//   //   flutterWebViewPlugin.close();
//   //   super.dispose();
//   // }
//
//   // @override
//   // Widget build(BuildContext context) {
//   //   return WebviewScaffold(
//   //     url: widget.url,
//   //     appBar: AppBar(
//   //       title: Center( // 使用 Center 来居中标题
//   //         child: Text(
//   //           widget.title,
//   //           overflow: TextOverflow.ellipsis,  // 文本溢出显示省略号
//   //           style: const TextStyle(fontSize: 16.0),
//   //         ),
//   //       ),
//   //     ),
//   //     withZoom: false,          // 不支持缩放
//   //     withLocalStorage: true,   // 支持本地存储
//   //     withJavascript: true,     // 支持js
//   //   );
//   // }
//
//   @override
//   Widget build(BuildContext context) {
//     List<Widget> titleContent = [];
//     titleContent.add(Text(
//       widget.title,
//       overflow: TextOverflow.ellipsis,
//       style: const TextStyle(fontSize: 16.0),
//     ));
//     // if (!loaded) {
//     //   titleContent.add(const CupertinoActivityIndicator());
//     // }
//     return WebviewScaffold(
//         url: "https://www.baidu.com",
//         appBar: AppBar(
//           title: Expanded(
//               child: Column(
//             mainAxisAlignment: MainAxisAlignment.center,
//             children: titleContent,
//           )),
//         ),
//         withZoom: false,
//         withLocalStorage: true,
//         withJavascript: true);
//   }
// }


import 'package:flutter/material.dart';
import 'package:webview_flutter/webview_flutter.dart';

class NewsDetail extends StatefulWidget {
  final String url; // 新闻链接
  final String title; // 新闻标题

  const NewsDetail({super.key, required this.url, required this.title});

  @override
  NewsDetailState createState() => NewsDetailState();
}

class NewsDetailState extends State<NewsDetail> {
  late final WebViewController controller;
  bool loaded = false;

  @override
  void initState() {
    super.initState();
    // 初始化 WebViewController
    controller = WebViewController()
      ..setJavaScriptMode(JavaScriptMode.unrestricted)
      ..setNavigationDelegate(
        NavigationDelegate(
          onPageFinished: (url) {
            setState(() {
              loaded = true;
            });
          },
        ),
      )
      ..loadRequest(Uri.parse(widget.url));
  }

  @override
  Widget build(BuildContext context) {
    return Scaffold(
      appBar: AppBar(
        title: Center(
          child: Text(
            widget.title,
            overflow: TextOverflow.ellipsis,
            style: const TextStyle(fontSize: 16.0),
          ),
        ),
      ),
      body: Stack(
        children: [
          WebViewWidget(controller: controller),
          if (!loaded)
            const Center(child: CircularProgressIndicator()),
        ],
      ),
    );
  }
}

